查看原文
其他

【精彩论文】面向能源电力区块链的跨域身份控制模型

中国电力 中国电力 2023-12-18

面向能源电力区块链的跨域身份控制模型


杨珂1,2, 王栋1,3, 李达1,3, 钱晓雨4, 李军4

(1. 国网数字科技控股有限公司, 北京 100053; 2. 国网区块链科技(北京)有限公司, 北京 100053; 3. 国家电网有限公司区块链技术实验室, 北京 100053; 4. 北京信息科技大学, 北京 100192)


摘要:针对各类场景业务终端访问不同信任域节点时的跨域身份认证问题,结合区块链与身份认证技术,提出一种面向能源电力场景支持终端灵活跨域认证的区块链可监管可信身份管理模型。首先,建立基于区块链的新型可信身份认证基础架构,电力场景下首次采用哈希值校验的方式完成认证,解决外域终端的可信高效接入问题。其次,为避免恶意终端接入同步节点数据,基于对证书体系的分级分类和能源电力区块链网络,设计终端的认证机制与交易策略,实现终端的可信动态接入与读写交易的权限分离管理。最后,在保证安全性与证书有效性的同时,与已有区块链跨域认证方案相比的结果表明,所提模型能够提升能源电力场景下的终端跨域认证效率。


引文信息

杨珂, 王栋, 李达, 等. 面向能源电力区块链的跨域身份控制模型[J]. 中国电力, 2023, 56(5): 209-216.

YANG Ke, WANG Dong, LI Da, et al. A cross-domain identity control model for electric blockchain[J]. Electric Power, 2023, 56(5): 209-216.


引言


区块链作为能源电力行业新型电力系统建设以及双碳战略实施的重要支撑技术之一,有利于促进电网生产管理和运营方式向智能化、网络化方向转型,对于电网产业结构调整具有积极的作用。能源电力行业具有业务流程长、参与主体多、分布范围广等特点,导致出现数据共享难、多方信任障碍等问题[1],区块链技术可以从本质上弥补能源互联网的无信任、无序、无规则等不足,是促进数据共享、优化业务流程、降低运营成本、提升协同效率、建设可信体系等关键技术的支撑手段,将在解决能源电力行业问题中发挥重要作用。随着能源互联网建设的快速推进,电力系统与上下游企业的联系日益紧密,开放程度不断扩大,接入的设备和系统快速增加,便捷可信的身份认证服务对电力系统安全稳定运行至关重要。基于区块链的防篡改、可追溯等特性,将公钥基础设施(public key infrastructure,PKI)体系中的证书授权机构(certificate authority,CA)上链存证,既能实现证书去中心化、公开、透明管理,又能实现跨域信任。而电力终端接入时存在多CA互信难、证书管理效率低、单点故障无法解决等问题,难以满足高效互联接入系统以及跨域共享需求[2-3]。具体业务场景下,外部电力终端与共享服务平台的跨域认证需求迫切,电动汽车充电桩网络与综合能源服务平台交互,用户使用充电桩获取积分,在综合平台兑换商品,则需完成一次跨域认证。电力终端接入也应避免同步主系统内全部数据的情况,因此目标域对外域终端的业务交易权限须有独立约束。基于上述原因,针对电网企业内部业务需求更加广泛,电力终端分布逐渐多元化的现状,为达到海量终端与平台系统频繁跨域交互以及灵活权限管控的目的,在区块链中引入受信任且可控权限的身份体系十分必要。


1  关键技术与研究现状


1.1  PKI技术与区块链技术PKI技术通过CA认证机构绑定用户标识与公钥的对应关系,依靠时间戳、公钥管理等方法准确界定用户身份,保障身份验证和通信安全[4]。为了增强用户身份信息的可靠性及安全性,信息传递中还结合了数字签名、密钥证书管理等方式。PKI体系框架可分为数字证书与私钥、数字证书管理、数字证书应用3方面,PKI通过数字证书解决随机公钥与用户的映射关系,引入CA集中签发数字证书,全生命周期化管理数字证书。区块链是一种新型的分布式数据库技术,需要上链的数据经过哈希算法加密后,将形成的密文数据存储在每个区块中,经过哈希算法加密过的数据不可逆[5]。区块链分布式的特点使系统具有较强的稳定性和容错性,可实现区块中的数据不可篡改,为电力服务平台提供可信环境。智能合约是一种定位于区块链系统中特定代码和数据的集合,由区块链参与各方共同决定的特殊协议[6]。智能合约在参与方达到某种条件时,自动触发执行代码,无需第三方参与,提升了区块链去中心化应用的执行效率。区块链作为去中心化的数据账本,通过密码学方法让网络中的所有节点共同管理和监管系统,可以从本质上弥补能源互联网的无信任、无序、无规则等不足。目前能源电力行业已成为区块链技术最典型的应用领域之一,区块链技术与身份认证技术融合以解决系统内数据存储、数据传输、身份鉴权、隐私保护和可证溯源等方面的问题[7-9]1.2  基于区块链的跨域身份认证研究目前在区块链身份认证管理方面已取得一些研究进展,微软等大型企业通过重新构建分布式数字身份标识符去中心化身份(decentralized ID,DID)以标识任意主体,此方案推广难度较大,且研发成本较高[10]。文献[11]基于区块链技术,使用一种基于区块链的分散式身份验证系统certcoin替代去中心化的PKI认证体系,但区块链账本与用户公私身份绑定,因此存在一定的泄露用户隐私的风险;文献[12]基于上述体系,设计certcoin的隐私保护改进方案,避免用户信息泄露丢失。文献[13]将以太坊为平台,通过智能合约设计新型PKI认证体系,提升系统认证效率。这些研究大多面向身份认证的分布式应用场景,未考虑跨域认证问题。文献[14]提出一种车辆信任访问共享型车辆网络的区块链车联网认证方案。文献[15]提出基于区块链的身份认证模型,建立不同信任域的交互连接,解决分散网络中多域访问的问题。文献[16]在医疗区块链的背景下,提出跨域授权和身份认证的共享方案。虽然文献[14-16]针对性提出应用于分布式场景中的跨域认证方案,但未能考虑多域访问之中存在的互相信任以及安全性问题。因此,在海量业务终端接入电网系统的需求下,为保证身份认证与权限管控的一致性和安全性,融合区块链与身份认证技术的跨域认证方案已成为目前的发展趋势,务须建立安全可控的身份认证体系以保障系统与用户的双重安全。

基于上述情况,本文首先提出基于区块链的新型可信身份认证基础架构,通过明确定义去中心化的跨域CA及证书体系,在能源电力场景下采用哈希值校验的方式完成跨域认证,实现能源电力业务终端跨域时的可信高效接入;然后提出基于对分级分类证书体系和能源电力区块链网络,设计终端的认证机制和交易策略,编写可信智能合约链码,实现终端的可信动态接入与读写交易分离管理,为能源电力区块链系统身份安全和权限管理提供可参考的创新实践方案。


2  面向能源电力区块链的可信身份认证管理模型


针对电力终端如何高效可信接入能源电力区块链系统的问题,提出面向电力应用的可信身份认证基础架构。根据区块链去中心化和不可篡改的特性,提出能源电力场景下的多级跨域CA结构,引入PKI体系,利用CA认证的数字证书识别用户真实身份,根据接入证书和交易证书,实现外域终端与区块链系统的对接。2.1  基于能源电力区块链的身份认证基础架构

传统PKI体系通过数字签名和公私钥对构建证书链,而基于能源电力区块链的可信身份认证基础架构则使用数字证书作为身份标识符,通过多方共识确立交易和构建信任[17]。利用每层证书颁发机构公布的证书,构建哈希值列表证书链,采用哈希值校验的方法完成认证,在原信任列表不变的情况下实现终端与目标域的跨域认证。认证基础架构如图1所示。


图1   可信身份认证基础架构

Fig.1  Trusted identity infrastructure


在该模型中,根CA-1为电力系统内原有信任节点,下设接入CA、交易CA、共识CA。跨域节点负责根CA的认证以及合约的部署。外域根CA为请求跨域的电力终端的上级根CA,外部电力终端发起接入系统的跨域请求时,需通过上级外域根CA向跨域节点提交全域内的证书哈希值列表,跨域节点负责外域根CA的身份认证和哈希列表存储工作。外域根CA向根CA-1发起跨域认证请求,借助跨域节点,根CA-1通过比较请求方信任域内的证书哈希值列表完成不同域间的证书认证,实现跨域。跨域成功后,电力终端获得由外域根CA颁发的跨域终端证书,作为身份标识符发起后续交易请求。2.2  能源电力场景中的多级跨域CA体系

在面向能源电力终端的跨域应用[18]中,在能源电力区块链的可信身份认证架构的基础上,提出多级CA体系架构,分类管理CA证书。通过颁发接入证书和交易证书2级安全证书,实现接入电力终端的身份认证和具体权限管理。接入证书CA与共识证书CA依托根CA产生,交易证书CA依托接入证书CA产生[19]。多级跨域CA体系如图2所示。


图2  多级跨域CA体系

Fig.2  Multi-level cross-domain CA structure


根CA为区块链可信身份管理模型的信任锚点,PKI体系中所有数字证书及颁发机构按照桥CA架构维持对等的原信任逻辑。根CA作为多级CA体系架构中的顶层CA,负责能源电力区块链已有节点的证书颁发及分类权限管控。跨域节点具有加密的用户接入账号的解密密钥,可通过解密接入申请字段获得用户实际身份。接入证书CA:管控节点的实名接入权限,包括区块链已有节点的接入证书。用户在系统中注册,获得接入证书颁发机构颁发的实名接入证书,用于节点认证。接入证书与用户具有一一映射的关系。此处节点的接入权限指实名加入区块链网络,而非参与节点共识。共识证书CA:管控接入节点的共识权限,共识证书颁发给区块链上参与共识的节点,完成节点共识身份的认证工作。节点若无共识证书,则无法参与共识。交易证书CA:管控节点的交易权限。交易证书是匿名短期证书,颁发给请求交易的节点。业务节点向区块链发起交易,需先申请交易证书,若节点无法提供交易证书或证书验证失败,则无法完成交易。

外域根CA与跨域终端证书:跨域认证通过后,外域根CA向终端颁发跨域终端证书作为终端身份标识。终端向区块链发起交易请求,同样需要申请交易证书,而跨域终端证书作为终端获取交易证书的判别依据,若无跨域终端证书或证书验证失败,则无法发起获得交易证书的请求。


3  基于智能合约的能源电力终端动态网络拓扑及认证机制


3.1  基于能源电力区块链的动态权限网络拓扑

为规避新接入的电力终端同步电网主系统全部数据的可能性,基于上述多级CA体系架构,通过多级证书动态管控节点权限,设计外域根CA的认证机制和电力终端交易策略,编写可信智能合约。构建基础网络拓扑架构如图3所示。


图3  基于多级CA体系的网络拓扑架构

Fig.3  Network topology architecture based on multi-level CA system


明确能源电力区块链中的节点权限,共识节点拥有参与共识流程及存储区块链账本记录的权限,记账节点拥有存储区块链账本记录的权限。在网络拓扑架构中,4个共识节点组成基本网络,所有共识节点间采用双向全连接模式;2个记账节点—记账节点a和记账节点b,连接共识节点3,共识节点与记账节点间采用双向单连接模式,记账节点之间不连接;请求交易的电力终端与原有节点间采用双向单连接模式[20]3.2  外域根CA认证机制

外域根CA为请求跨域的电力终端的上级根CA,外域根CA完成跨域认证加入网络后,向终端颁发跨域终端证书,终端才可发起后续交易请求。外域根CA首次向能源电力区块链系统发起连接请求时,向跨域节点提交本域内的证书哈希值列表,由跨域节点验证身份并存储,身份验证通过后,经跨域节点与系统内根CA-1开始跨域,根CA-1接收到外域根CA的跨域请求后,根据跨域节点公布的哈希值列表,比较请求方信任域内的根CA证书哈希值与证书哈希值列表完成认证。外域根CA认证机制如图4所示。


图4   外域根CA认证机制

Fig.4  Out-of-domain terminal authentication mechanism


3.3  电力终端交易策略

电力终端发起跨域访问请求,在区块链中以交易形式完成,并非指货币交易,主要依靠跨域终端证书和交易证书。外域根CA认证后,终端获得其颁发的跨域终端证书。电力终端访问前,需先由节点鉴权和记录,终端通过节点的身份认证后,节点给终端颁发短期交易证书,由节点代理终端的行为[21]。利用节点证书及其私钥代理终端发起的交易。终端交易策略如图5所示。


图5  终端交易策略

Fig.5  Terminal trading strategies


3.4  可信智能合约设计部署可信智能合约实现对不同业务终端的访问权限,确保终端无法越权访问区块链网络中的无关内容。可信合约设计分为注册函数和查询函数2部分,注册函数内含Add( )和SetCert( )2个函数,由链上可信节点调用。Add( )函数标识系统内可信节点,外域根CA注册成功后将其可信CA的地址映射VaildCA对应为True,如函数Function1。Function1 Add()Input: a user's address U.addOutput: NULL1. S=msg.sender2. if CA[S]=true then3. CA[U.add]=true4. endSetCert( )函数由ValidCA中对应true的节点调用,核实电力终端真实身份后,由跨域根CA颁发跨域终端证书,将证书号ID、账户地址U.add、公钥EPK、有效期Start、End输入函数、证书哈希值Hash存入上一级跨域根CA的哈希值列表CertList中,如函数Function2。Function2  SetCert()Input: a cert id ID, a user & apos; s address U. add, user & apos; s entrance public key EPK, certificate issuer address Msg. Sender, cert time Start, EndOutput: a Flag1. S=msg.sender2. if ValidCAp[S]=true then3. CertMap(U.add).ID= ID4. CertMap(U.add).Address= U.add5. CertMap(U.add).EPK=EPK6. CertMap(U.add).Time1=Start7. CertMap(U.add).Time2=End8. CertMap(U.add).CAsddress=S9. CAMap(S).CertList.push(Hash(ID,U.add,EPK,S))10. end11. else12. flag=false13. end14. return flag查询函数内含GetCert( )和GetCertList( )2个函数,查询特定电力终端证书的函数GetCert( ),可由跨域节点、可信节点调用,输入区块链地址,输出地址到对应证书哈希的映射,如函数Function3。Function3 GetCert()Input: a user's address U.addOutput: user's cert struct Cert(U.add)1. Return CertMap(U.add)查询CA哈希值列表GetCertList(  ),输入CA或跨域节点的区块链地址,即有权限颁发证书的节点,输出地址到证书列表哈希的映射,如函数Function4。Function4  GetCertList()Input: a CA's address CA.addOutput: CA's CertList

1. Return CAMap(CA.add).CertList


4  方案分析


4.1  安全性分析4.1.1  证书的真实性和所有权面向能源电力场景下的多级跨域CA结构对证书列表进行哈希运算,构建哈希值列表证书链存储在区块链中。具有哈希算法的抗碰撞性和单向不变性使任何能源电力区块链节点匿名和安全地存储信任证书[22]。证书的真实性和所有权是通过在能源电力区块链上存储证书的加密哈希值以及向能源电力区块链提交该证书列表的哈希值时间信息证明。4.1.2  双向实体认证在能源电力区块链的每个信任域中,用户认证经该域原有的认证方式实现[23]。在多域区块链框架下,认证服务通过请求获取被认证域的根CA区块链证书,进行哈希运算,而后查询区块链中保存的信任凭证,确认信任关系,实现域间认证,进而实现能源电力区块链场景下不同信任域之间用户的双向实体认证。4.1.3  防止假冒攻击基于能源电力区块链的身份认证系统中跨域节点负责根CA的认证,将可信的根CA公布在可信CA列表VaildCA中。在调用合约签发证书功能之前,需要验证该账户是否存在于可信CA列表中。智能合约的访问控制机制保证了只有经过验证和受信任的CA用户才能签发证书[24],消除了假冒CA签发证书的情况。4.1.4  防止单点故障能源电力区块链的分布式架构天然具有点对点和多冗余的特点,即使单一节点发生故障,其他节点也不会受到影响,因此不存在单点故障问题。与传统集中式系统[25]相比,它对拒绝服务攻击有更强的抵抗性,一旦某个节点被攻击发生故障,与故障节点相连的用户就无法访问系统,避免整个系统因单点攻击导致失去可用性。4.2  效率分析

分析能源电力区块链下可信身份认证管理模型的性能效率,并与文献[8]提出的传统跨域认证方案以及文献[9]提出的基于区块链的联盟证书方案进行比较,结果如表1所示。


表1  效率分析

Table 1  Efficiency analysis


与文献[8]中的传统认证方案相比,本文方案减少了公钥加解密和数字签名认证的次数。哈希算法效率远远高于传统方案中非对称加密RSA算法,而且本文模型基于能源电力区块链,跨域认证中使用的公钥算法次数不会因为终端的增加而增加。因此,本文方案中使用的公钥算法次数和数字签名验证效率大幅领先于文献[8]。与文献[9]中的联盟区块链证书方案相比,本文方案将数字签名和验证的次数减少至2次,验证CA证书列表哈希值实现根CA的可信接入,终端跨域证书的验证实现对终端的身份认证。本文方案改变了电力终端和CA之间的认证方式,将数字证书和信任列表以哈希值的形式存储并上传到能源电力区块链中,保证了计算效率,减少了数字签名与验证的次数,提升整体跨域性能和认证效率。

由电力终端发起的跨域认证请求主要是由跨域节点在链上对终端身份信息进行验证,跨域认证时间在实验中维持在0.010~0.015 s之间,方案效率对比如图6所示。当电力终端发起的跨域请求次数增加时,不会导致跨域认证过程中数字签名验证与哈希算法的次数增加,且跨域过程中哈希运算速度远高于其他方案中公钥算法效率,即使在终端数量众多的电网系统内部认证场景下,本文方案完成跨域认证的效率也有所保证。


图6  跨域认证哈希运算时间对比

Fig.6  Comparison of authentication hash operation time


5  结语


为解决能源电力区块链复杂交互式场景下的电力终端接入区块链系统的跨域认证和数据权限管控需求,提出了一种基于能源电力区块链的可信身份认证管理模型。该模型以能源电力区块链智能合约为基础,实现动态权限可管控的电力终端跨域连接。与现有方案相比,减少了验证签名和哈希运算的次数,提高了跨域认证和节点连接的效率,整个模型架构及实验系统基于能源电力联盟链网络设计,保证了跨域身份认证服务的安全性和不可篡改性的同时,具有较强的可扩展性。通过基于能源电力区块链的多级多节点权限控制类证书体系研究和节点合约机制设计,实现对上链电力数据的权限分级灵活管控,达到预期的设计目标。

(责任编辑 于静茹)



作者介绍

杨珂(1990—),男,博士,工程师,从事网络安全与区块链研究,E-mail:yangke@sgdt.sgcc.com.cn;


王栋 (1985—) ,男,硕士,高级工程师,从事信息安全与区块链研究,E-mail:wangdong@sgdt.sgcc.com.cn;

李达(1991—) ,男,通信作者,硕士,工程师,从事电力系统自动化与能源区块链研究,E-mail:lida@sgdt.sgcc.com.cn;

钱晓雨(1997—) ,女,硕士研究生,从事网络安全与区块链研究,E-mail:qxiaoyu228@163.com.


欢迎点击文后“阅读原文”跳转期刊官网,获取更多信息!




 往期回顾 


《中国电力》2023年第5期目录
【精彩论文】覆冰架空导线舞动跳闸概率计算新方法【精彩论文】山火条件下输电线路跳闸概率计算【精彩论文】基于HHT和GA-BP的电压暂降源定位方法【精彩论文】考虑设备耐受特性的能量指标分级评估【征稿启事】“分布式智能电网的规划、运行和电力交易”专栏征稿启事【征稿启事】“新型能源体系下电碳协同市场机制及优化运行”专栏征稿启事【征稿启事】“面向碳达峰碳中和目标的清洁高效发电技术”专题征稿启事【征稿启事】“新型电力系统低碳规划与运行”专栏征稿启事

编辑:杨彪
校对:于静茹

审核:方彤

声明

根据国家版权局最新规定,纸媒、网站、微博、微信公众号转载、摘编《中国电力》编辑部的作品,转载时要包含本微信号名称、二维码等关键信息,在文首注明《中国电力》原创。个人请按本微信原文转发、分享。欢迎大家转载分享。

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存